package com.ynet.middleground.user.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author Songyf
 * @since 2021-05-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ur_esign_log")
public class EsignLog extends Model<EsignLog> {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 账户类型，0：企业，1：个人
     */
    private String userType;

    /**
     * E签宝账号唯一标识
     */
    private String accountId;

    /**
     * 指纹信息
     */
    private String fingerprint;

    /**
     * 操作类型00：创建E签宝企业账户，01：创建E签宝个人账户，02：更新E签宝企业账户，03：更新E签宝个人账户，04：注销，05：查询，06：根据证件号获取账户信息，07：查询打款银行信息，08：查询认证信息，09：发起运营商3要素核身认证，10：个人银行卡4要素信息比对，11：发起随机金额打款认证，12：随机打款金额校验，13：发起银行卡4要素核身认证，14：企业4要素信息比对，15：个人运营商3要素信息比对，16：发起企业实名认证4要素校验，17：银行预留手机号验证码校验，18：手机号验证码校验
     */
    private String operationType;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 创建人
     */
    private Integer createBy;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 单位类型0: 普通企业，1: 社会团体，2: 事业单位，3: 民办非企业单位，4: 党政及国家机构
     */
    private String organType;

    /**
     * 注册类型0:缺省注册无需法人或代理人信息, 1: 代理人注册,2: 法人注册, 默认为0
     */
    private Integer registerType;

    /**
     * 企业注册类型NORMAL: 组织机构代码号,MERGE: 多证合一，传递社会信用代码号,REGCODE: 企业工商注册码,ORGAN_OTHER: 其它, 默认为 NORMAL
     */
    private String regType;

    /**
     * 姓名
     */
    private String name;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 证件号
     */
    @TableField("idNo")
    private String idNo;

    /**
     * 所属公司
     */
    private String organ;

    /**
     * 职位
     */
    private String title;

    /**
     * 住址
     */
    private String address;

    /**
     * 个人归属地MAINLAND: 大陆身份证,HONGKONG: 香港居民往来内地通行证,MACAO: 澳门居民往来内地通行证,TAIWAN: 台湾居民来往大陆通行证,FOREIGN: 外籍,PASSPORT: 护照,SOLDIER_IDNO: 军人身份证,SOCIAL_SECURITY_CARD: 社会保障卡,ARMED_POLICE_ID: 武装警察身份证件,RESIDENCE_BOOKLET: 户口簿,TEMPORARY_IDNO: 临时居民身份证,FOREIGNER_PERMANENT_RESIDENCE_PERMIT: 外国人永久居留证,OTHER: 其他
     */
    @TableField("personArea")
    private String personArea;

    /**
     * 国家
     */
    private String country;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * 部门
     */
    private String department;

    /**
     * 法定代表人归属地0: 大陆，1: 香港，2: 澳门，3: 台湾，4: 外籍，默认0
     */
    private Integer legalArea;

    /**
     * 法定代表人姓名
     */
    private String legalName;

    /**
     * 法定代表人身份证号/护照号
     */
    private String legalIdNo;

    /**
     * 代理人姓名
     */
    private String agentName;

    /**
     * 代理人身份证号
     */
    private String agentIdNo;

    /**
     * 经营范围
     */
    private String scope;

    /**
     * 待置空的属性集合
     */
    private String deleteParamTypes;

    /**
     * 请求信息
     */
    private String requestMsg;

    /**
     * 返回信息
     */
    private String responseMsg;

    /**
     * 调用状态0：成功1：失败
     */
    private String status;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
